//
//  API_Codable_TableVC.swift
//  APSwift
//
//  Created by jianbo.pei on 2022/11/11.
//

import UIKit

class API_Codable_TableVC: UIViewController {
    lazy var tableView: UITableView = {
        let tableV = UITableView(frame: view.bounds, style: .plain)
        tableV.delegate = self
        tableV.dataSource = self
        tableV.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
        return tableV
    }()
    
    var cellTitles: [String] = []
    var cellVCNames: [String] = []
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        view.backgroundColor = .white
        
        configDatas()
        view.addSubview(tableView)
    }
    
    func configDatas() {
        cellTitles = [
            "Codable初级入门（JSON转model、model转JSON）",
            "Swift Codable基本使用1",
            "Swift Codable基本使用2",
        ]
        
        cellVCNames = [
            "API_Codable_primary_DemoVC",
            "API_Codable_Demo1VC",
            "API_Codable_Demo2VC",
        ]
    }
    
}

extension API_Codable_TableVC: UITableViewDataSource, UITableViewDelegate {
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return cellTitles.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
        cell.textLabel?.text = cellTitles[indexPath.row]
        return cell
    }
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 60
    }
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        tableView.deselectRow(at: indexPath, animated: true)
        
        pushToNext(vcTitles: cellTitles, vcNames: cellVCNames, at: indexPath)
    }
}

